﻿using System;
namespace Moonlite.Services.CodeCompletion
{
    public class AndromedaObjectClass : AndromedaObjectWithSpecificChildren, IAndromedaObjectWithName, IAndromedaObjectWithImageIndex, IAndromedaObjectWithType, IAndromedaObjectWithVisibility
    {
        public AndromedaObjectOopType Type { get { return AndromedaObjectOopType.Class; } }
        public int ImageIndex { get { return AndromedaImageIndexes.ImageIndexClass; } }
        public string Name { get; set; }
        public string Visibility { get; set; }
        public bool Static { get; set; }
        public bool Final { get; set; }
        public AndromedaObjectClass Extends { get; set; }
        internal string SuperClassTempName { get; set; }
        public bool ValidSuperClass { get; set; }
        public override string ToString()
        {
            return Name;
        }

        public AndromedaObjectClass()
        {
            ValidSuperClass = true;
        }

        public AndromedaObjectClass(AndromedaObject parent)
            : base(parent)
        {
            ValidSuperClass = true;
        }
    }
}
